I. Field of the Invention
The present invention pertains generally to the field of wireless communications, and more specifically to resolving ambiguity in the reception of multiple retransmitted frames.
II. Background
The field of wireless communications has many applications including, e.g., cordless telephones, paging, wireless local loops, and satellite communication systems. A particularly important application is cellular telephone systems for mobile subscribers. (As used herein, the term xe2x80x9ccellularxe2x80x9d systems encompasses both cellular and PCS frequencies.) Various over-the-air interfaces have been developed for such cellular telephone systems including, e.g., frequency division multiple access (FDMA), time division multiple access (TDMA), and code division multiple access (CDMA). In connection therewith, various domestic and international standards have been established including, e.g., Advanced Mobile Phone Service (AMPS), Global System for Mobile (GSM), and Interim Standard 95 (IS-95). In particular, IS-95 and its derivatives, IS-95A, IS-95B, ANSI J-STD-008, IS-99, IS-657, IS-707A, etc. (often referred to collectively herein as IS-95), are promulgated by the Telecommunication Industry Association (TIA) and other well known standards bodies.
Cellular telephone systems configured in accordance with the use of the IS-95 standard employ CDMA signal processing techniques to provide highly efficient and robust cellular telephone service. An exemplary cellular telephone system configured substantially in accordance with the use of the IS-95 standard is described in U.S. Pat. No. 5,103,459, which is assigned to the assignee of the present invention and fully incorporated herein by reference. The aforesaid patent illustrates transmit, or forward-link, signal processing in a CDMA base station. Exemplary receive, or reverse-link, signal processing in a CDMA base station is described in U.S. application Ser. No. 08/987,172, filed Dec. 9, 1997, entitled MULTICHANNEL DEMODULATOR, which is assigned to the assignee of the present invention and fully incorporated herein by reference.
In CDMA systems, over-the-air power control is a vital issue. An exemplary method of power control in a CDMA system is described in U.S. Pat. No. 5,056,109, which is assigned to the assignee of the present invention and fully incorporated herein by reference.
A primary benefit of using a CDMA over-the-air interface is that communications are conducted over the same RF band. For example, each mobile subscriber unit (typically a cellular telephone) in a given cellular telephone system can communicate with the same base station by transmitting a reverse-link signal over the same 1.25 MHz of RF spectrum. Similarly, each base station in such a system can communicate with mobile units by transmitting a forward-link signal over another 1.25 MHz of RF spectrum. It is to be understood that while 1.25 MHz is a preferred CDMA channel bandwidth, the CDMA channel bandwidth need not be restricted to 1.25 MHz, and could be any number, such as, e.g., 5 MHz.
Transmitting signals over the same RF spectrum provides various benefits including, e.g., an increase in the frequency reuse of a cellular telephone system and the ability to conduct soft handoff between two or more base stations. Increased frequency reuse allows a greater number of calls to be conducted over a given amount of spectrum. Soft handoff is a robust method of transitioning a mobile unit from the coverage area of two or more base stations that involves simultaneously interfacing with two base stations. (In contrast, hard handoff involves terminating the interface with a first base station before establishing the interface with a second base station.) An exemplary method of performing soft handoff is described in U.S. Pat. No. 5,267,261, which is assigned to the assignee of the present invention and fully incorporated herein by reference.
Under the IS-99 and IS-707A standards (referred to hereinafter collectively as IS-707A), an IS-95-compliant communications system can provide both voice and data communications services. Data communication services allow digital data to be exchanged using a receiver nd an RF interface to one or more transmitters. Examples of the type of digital data typically transmitted using the IS-707A standard include computer files and electronic mail.
In accordance with both the IS-95 and IS-707A standards, the data exchanged between a wireless terminal and a base station is processed in frames. To increase the likelihood that a frame will be successfully transmitted during a data transmission, IS-707A employs a radio link protocol (RLP) to track the frames transmitted successfully, and to perform frame retransmission when a frame is not transmitted successful. Retransmission is performed up to three times in IS-707A, and it is the responsibility of the higher layer protocols to take additional steps to ensure that the frame transmitted is successful.
In order to track which frames have been transmitted successfully, IS-707A calls for an eight-bit sequence number to be included as a frame header in each frame transmitted. The sequence number is incremented for each frame from 0 to 256 and then reset back to zero. An unsuccessfully transmitted frame is detected when a frame with an out-of-order sequence number is received, or an error is detected using CRC checksum information or other error detection methods. Once an unsuccessfully transmitted frame is detected, the receiver transmits a negative-acknowledgment message (NAK) to the transmit system that includes the sequence number of the frame that was not received. The transmit system then retransmits the frame including the sequence number as originally transmitted. If the retransmitted frame is not received successfully, a second negative-acknowledgment message is sent to the transmit system. The transmit system typically responds by notifying the controlling application or network layer of the failed transmission.
Under IS-95A and IS-707A, frames are transmitted once every twenty milliseconds (ms). Thus, an eight-bit sequence number can track 256 frames transmitted over a five-second interval. Five seconds is typically sufficient to allow a failed frame transmission to be detected, and a retransmission to be performed, and therefore an eight-bit sequence number provides sufficient time for frame retransmission. Thus, retransmitted frames can be uniquely identified without ambiguity caused by a sequence xe2x80x9cwrap-aroundxe2x80x9d whereby the eight-bit sequence number repeats.
Since the original development of IS-95A and IS-707A, however, additional protocols and standards have been proposed and developed that allow data to be transmitted at greater rates. Typically, these new protocols and standards use the same frame structure as IS-95A and IS-707A in order to maintain as much compatibility as possible with pre-existing systems and standards. Nevertheless, while maintaining compatibility with pre-existing standards and systems is desirable, the use of the same type of frame within these higher rate protocols and standards substantially increases the number of frames that are transmitted during a given period of time. For example, if the transmission rate is increased by a factor of four, the time required to transmit 256 frames is reduced to 1.25 seconds, rather than the five seconds required previously. A time period of 1.25 seconds is typically insufficient to allow a failed frame transmission to be detected, and a retransmission attempted, before the eight-bit sequence number repeats. Thus, the use of an eight-bit sequence number is insufficient to allow unique identification of frames for the time period necessary to perform the desired retransmission sequence.
A well-known protocol, the Radio Link Protocol (RLP), uses an eight-bit sequence counter included in frames sent over the air. The eight bits represent the least significant bits of a twelve-bit counter kept internally at both the receiver and the transmitter. The twelve-bit counter is updated based on the eight-bit numbers sent over the air. It stands to reason that delayed frames present a problem. If multiple frames are simultaneously sent from the transmitter but are delayed with respect to each other at the receiver, the twelve-bit counters will be incorrectly updated and the RLP will abort.
While the number of bits in the sequence number could be increased, such an increase would substantially alter the frame format and therefore violate the goal of maintaining substantial compatibility with previously existing systems and standards. Additionally, increasing the number of bits in the sequence number would waste available bandwidth. A conventional solution such as increasing the number of bits used to represent the sequence counter is therefore inadequate because it would introduce additional overhead per transmission and decrease of the net throughput of the transport service. Hence, it would be desirable to provide a method for extending the sequence number range without modifying the number of bits used for the sequence number. Such a method would advantageously be capable of interpreting an impossibly large number of missing data frames derived from the sequence number as a delayed frame, thereby increasing the throughput of the transport function. It would be advantageous, then, to provide an efficient method of detecting delayed frames in a transport function using a minimum number of bits.
In the RLP transport function, which maps an eight-bit over-the-air frame sequence number to a twelve-bit sequence number, the transmitter (which may reside in a data-capable cellular- or satellite-based base station, or a subscriber unit) may send multiple copies of the same retransmitted frame to increase the probability of reception. For example, in RLP Type II (as defined in IS-95 and IS-707A), two NAK messages are sent when a frame transmission is unsuccessful. The frame is then retransmitted twice. If the second round of transmission is unsuccessful, three more NAK messages are generated, and three copies of the retransmitted frame are sent. In this second round of NAK messages, there exists the potential for overlap with other unsuccessfully transmitted frames. When the first of the three retransmitted copies arrives, the associated NAK-list entry is removed from the NAK list. The second copy may be interpreted as the arrival of a retransmitted frame having the same least-significant eight bits. Hence, there is an inherent ambiguity generated in mapping the eight-bit sequence number to the twelve-bit number because retransmitted RLP frames that have the same least-significant-bit values but different most-significant-bit values must be differentiated based solely on observation of the least-significant bits. Thus, there is a need for a method of resolving ambiguity in the reception of multiple retransmitted frames.
The present invention is directed to a method of resolving ambiguity in the reception of multiple retransmitted frames. Accordingly, in one aspect of the invention, a method of resolving ambiguity in a transport function in which frames are sent from a transmitter to a receiver advantageously includes the steps of ascertaining whether each frame is a retransmitted frame; storing each retransmitted frame; determining for each retransmitted frame whether a timer has been set; removing for each retransmitted frame an associated list entry from a predefined list if the timer has not been set; and retaining for each retransmitted frame the list entry in the list, if the timer has been set, until the timer expires. In another aspect of the invention, a data transmission system advantageously includes a transmitter; a receiver coupled to the transmitter via an interface for receiving data frames from the transmitter; and a protocol processing component housed in the receiver for ascertaining whether the received data frames are retransmitted data frames, storing the retransmitted data frames, determining for each retransmitted data frame whether a timer has been set, removing for each retransmitted data frame an associated list entry from a predefined list if the timer has not been set, and retaining for each retransmitted data frame the list entry in the list, if the timer has been set, until the timer expires.